The present invention relates to data transfers between a host device and a storage medium.
Memory controllers are used for transferring data between a host device and a non-volatile semiconductor memory device. Host device interface protocols typically allow the host device to request the transfer of multiple units of data to or from the semiconductor memory device using a single command. The intervention of a memory controller microprocessor is usually required to configure the semiconductor device controller for the transfer and to initiate the transfer. A single data transfer cycle between the host device and the memory device is referred to as a data phase. The completion of a host device""s request to transfer data may involve multiple data phases.
After the implementation of each data phase of a multi-phase request, microprocessor intervention has been traditionally required to signal data phase termination to the host and, if applicable, to initiate the transfer of subsequent data phases. Since each read or write operations may comprise a large number of data phases, such read or write operation may require a large number of microprocessor interventions. Performing a large number of microprocessor interventions is time consuming and can therefore increase the time needed to complete a read or write operation in connection with the memory device. This problem may be alleviated by employing a faster microprocessor. Such a solution, however, may not be very cost effective. Therefore there exists a need for systems and methods for solving these and other problems associated with transferring data between a host device and a memory device.
The present invention relates to systems and methods for transferring data between a host device and a storage medium. In this regard, an embodiment of one such method includes receiving from a host device a command to transfer data between the host device and the storage medium, storing in a first register a value for tracking a number of data units that are transferred between a buffer and the storage medium, and storing in a second register a value for tracking a number of data units that are transferred between the host and the buffer.
An embodiment of a system for transferring data between a host device and a storage medium includes a host interface that receives from a host device a command to transfer data between the host device and the storage medium, a buffer that temporarily stores data that is transferred between the host device and the storage medium, a first register that stores a value for tracking a number of data units that are transferred between the buffer and the storage medium, and a second register that stores a value for tracking a number of data units that are transferred between the host device and the buffer.